#pragma once

#include <opencv2/core/core.hpp>

class ImprocRender
{
public:
	ImprocRender();
	void setObjectFound(bool v);
	void setModelViewProjection(float* mvp);
	void setOverlapImage(cv::Mat* color_img,cv::Mat* mask, int marker_width ,int marker_height);
	void process(cv::Mat& color_frame, long delta_time);
private:
	void drawImageOverlappedSensor( cv::Mat& colorImage , cv::Mat& imageToOverlap, cv::Mat& imageToOverlapMask, int marker_width ,int marker_height );
	void pointProject( float objX, float objY, float objZ, float* winX, float* winY, float* winZ );

	float _mvp[16];
	cv::Mat* _color_img;
	cv::Mat* _mask;
	bool _objectFound;
	int _marker_width ;
	int _marker_height;
};